<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets" >
<ui:composition template="/templates/home.xhtml" >
<ui:define name="corpo_home">
<h:body>
<p:growl id="mensagens" globalOnly="true" />
<p:panel id="panel" header="Cadastro de usuários" style="text-align: center; height: 700px; padding: 0px; font-size: 16px" >
    <h:form prependId="false" style="text-align: left;  "  >
        <h:panelGrid columns="2" >
        <h:panelGroup id="dadosUsuario" >
            <p:fieldset legend="Dados do usuário">  
            <h:panelGrid  columns="3" cellpadding="3" width="750" style="text-align: left; " >
            <h:outputLabel value="Saram:" for="saram" />
            <h:inputText id="saram" value="#{cadastroUsuarioBean.usuario.saram}" required="true" size="45" requiredMessage="Campo Saram obrigatório!" validator="validaSaramId" maxlength="8" />
            <h:message id="saramMessage" for="saram" style="color: red; font-size: 11px" /> 
            <h:outputLabel value="Nome completo: " for="nome" />
            <h:inputText id="nome" value="#{cadastroUsuarioBean.usuario.pessoa.nome}" required="true" size="45" validatorMessage="Campo Nome completo deve conter pelo menos 3 caracteres!" requiredMessage="Campo Nome completo obrigatório!" maxlength="80" >
                <f:validateLength minimum="3" />
            </h:inputText>
            <h:message id="nomeMessage" for="nome" style="color: red; font-size: 11px"/> 
            <h:outputLabel value="Nome de guerra:" for="nomeGuerra" />
            <h:inputText id="nomeGuerra" value="#{cadastroUsuarioBean.usuario.pessoa.nomeGuerra}" required="true" size="45" validatorMessage="Campo Nome de guerra deve conter pelo menos 3 caracteres!" requiredMessage="Campo Nome de guerra obrigatório!" maxlength="40" >
                <f:validateLength minimum="3" />
                <!-- <p:ajax event="blur" update="nomeGuerraMessage"  /> -->
             </h:inputText>
            <h:message id="nomeGuerraMessage" for="nomeGuerra" style="color: red; font-size: 11px" />
            <h:outputLabel value="Identidade militar" for="idm" />
            <h:inputText id="idm" value="#{cadastroUsuarioBean.usuario.pessoa.identidadeMilitar}" size="45" maxlength="20" />
            <br/>
            <h:outputLabel value="Função:" for="funcao" />
            <h:inputText id="funcao" value="#{cadastroUsuarioBean.usuario.pessoa.funcao}" size="45" maxlength="255" />
            <br/>
            <h:outputLabel value="Posto/Graduação:" for="postgrad" />
            <h:selectOneMenu  id="postgrad" value="#{cadastroUsuarioBean.usuario.pessoa.postoGraduacao}" >
                <f:selectItem itemValue="TBR" itemLabel="Tenente Brigadeiro" />
                <f:selectItem itemValue="MBR" itemLabel="Major Brigadeiro" />
                <f:selectItem itemValue="BR" itemLabel="Brigadeiro" />
                <f:selectItem itemValue="CEL" itemLabel="Coronel" />
                <f:selectItem itemValue="TCEL" itemLabel="Tenente Coronel" />
                <f:selectItem itemValue="MAJ" itemLabel="Major" />
                <f:selectItem itemValue="CAP" itemLabel="Capitão" />
                <f:selectItem itemValue="1T" itemLabel="1º Tenente" />
                <f:selectItem itemValue="2T" itemLabel="2º Tenente" />
                <f:selectItem itemValue="ASP" itemLabel="Aspirante" />
                <f:selectItem itemValue="EST" itemLabel="Estagiário" />
                <f:selectItem itemValue="AL" itemLabel="Aluno" />
                <f:selectItem itemValue="SO" itemLabel="Sub-Oficial" />
                <f:selectItem itemValue="1S" itemLabel="1º Sargento" />
                <f:selectItem itemValue="2S" itemLabel="2º Sargento" />
                <f:selectItem itemValue="3S" itemLabel="3º Sargento" />
                <f:selectItem itemValue="CB" itemLabel="Cabo" />
                <f:selectItem itemValue="TM" itemLabel="Taifeiro-Mor" />
                <f:selectItem itemValue="T1" itemLabel="Taifeiro 1ª Classe" />
                <f:selectItem itemValue="T2" itemLabel="Taifeiro 2ª Classe" />
                <f:selectItem itemValue="S1" itemLabel="Soldado 1ª Classe" />
                <f:selectItem itemValue="S2" itemLabel="Soldado 2ª Classe" />
                <f:selectItem itemValue="SD" itemLabel="Soldado" />
                <f:selectItem itemValue="CV" itemLabel="Civil" />
            </h:selectOneMenu>
            <br/>
            <h:outputLabel value="Unidade:" for="unidade" />
            <h:selectOneMenu  id="unidade" value="#{cadastroUsuarioBean.usuario.pessoa.unidade}" valueChangeListener="#{setorBean.selecionaSetorPorOM}" required="true" requiredMessage="Campo Unidade obrigatório!" validator="validaOMId">
                <f:selectItem itemValue="-1" itemLabel="Selecione"  />
                <f:selectItems value="#{unidadeMilitarBean.listarTipos}" var="it" itemValue="#{it.value}" itemLabel="#{it.key}" />
                <f:ajax execute="@this" render="setorP" event="change"  />
            </h:selectOneMenu>
            <h:message id="unidadeMessage" for="unidade" style="color: red; font-size: 11px" />
            <h:outputLabel value="Setor: " for="setorP" />
            <h:selectOneMenu id="setorP" value="#{cadastroUsuarioBean.usuario.pessoa.setor}"  required="true" requiredMessage="Campo Setor obrigatório!" disabled="#{empty setorBean.listarSetorPorOm}" validator="validaSetorId" >
                <f:selectItem itemValue="-1" itemLabel="Selecione"  />
                <f:selectItems value="#{setorBean.listarSetorPorOm}" var="item" itemValue="#{item.idsetor}" itemLabel="#{item.descricaoSetor}" />
            </h:selectOneMenu>
            <h:message id="setorMessage" for="setorP" style="color: red; font-size: 11px" /> 
            <h:outputLabel value="E-mail funcional (intraer):" for="emailFuncional" />
            <h:inputText id="emailFuncional" value="#{cadastroUsuarioBean.usuario.pessoa.emailComercial}" required="true" size="45" maxlength="255" validatorMessage="E-mail funcional inválido!" requiredMessage="Campo E-mail funcional obrigatório!" style="text-transform: lowercase;" >
                <f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+" />
            </h:inputText>
            <h:message id="emailFMessage" for="emailFuncional" style="color: red; font-size: 11px" /> 
            <h:outputLabel value="E-mail pessoal:" for="emailPessoal" />
            <h:inputText id="emailPessoal" value="#{cadastroUsuarioBean.usuario.pessoa.emailPessoal}" size="45" maxlength="255" validatorMessage="E-mail pessoal inválido!" style="text-transform: lowercase;" >
                <f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+" />
            </h:inputText>
            <h:message id="emailPMessage" for="emailPessoal" style="color: red; font-size: 11px" /> 
            <h:outputLabel value="Telefone:" for="tel"/>
            <p:inputMask id="tel" value="#{cadastroUsuarioBean.usuario.pessoa.telComercial}" size="12" mask="(99)99999-9999" required="true" requiredMessage="Campo Telefone obrigatório!" />
            <h:message id="telefoneMessage" for="tel" style="width: 50px; color: red; font-size: 11px" />

            <h:outputLabel value="Login:" for="login" />
            <h:inputText id="login" value="#{cadastroUsuarioBean.usuario.login}" required="true" validatorMessage="Campo Login deve conter pelo menos 3 caracteres!" size="45" requiredMessage="Campo Login obrigatório!"  maxlength="80" validator="validaLoginId" >
                <f:validateLength minimum="3" />
            </h:inputText>
            <h:message id="loginMessage" for="login" style="color: red; font-size: 11px"/> 
            <h:outputLabel value="Senha:" for="senha" />
            <h:inputSecret id="senha" binding="#{senha}" value="#{cadastroUsuarioBean.usuario.senha}" maxlength="60" size="45" redisplay="false" rendered="true" required="true" requiredMessage="Campo Senha obrigatório!" validatorMessage="Campo Senha deve conter pelo menos 6 caracteres!" >
                <f:validateLength minimum="6" />
            </h:inputSecret>
            <h:message id="senhaMessage" for="senha" style="color: red; font-size: 11px" />
            <h:outputLabel value="Confirmar senha:" for="confirmarSenha" />
            <h:inputSecret id="confirmarSenha" value="#{cadastroUsuarioBean.confirmarSenha}" maxlength="60" size="45" validator="validaConfirmarSenhaId" required="true" requiredMessage="Campo Confirmar senha obrigatório!"  >
                <f:attribute name="senha" value="#{senha}"></f:attribute>
                <!-- <p:ajax event="blur" update="confirmarSenhaMessage"  />  -->
            </h:inputSecret>
            <h:message id="confirmarSenhaMessage" for="confirmarSenha"  style="color: red; font-size: 11px" />
            <h:outputLabel value="Data cadastramento:" for="dataCadastramento" />
            <h:outputText id="dataCadastramento" value="#{cadastroUsuarioBean.dataAtual}" style="font-weight: bold">
                <f:convertDateTime dateStyle="medium" />
            </h:outputText>
            <br/>
            <br/>
            <h:panelGroup>
                <p:commandButton value="Salvar" action="#{cadastroUsuarioBean.salvar}" update="dadosUsuario, mensagens" image="ui-icon ui-icon-disk" >
<!--                    <f:setPropertyActionListener target="#{cadastroUsuarioBean.usuario}" value="#{cadastroUsuarioBean.usuario}" />-->
                </p:commandButton>
                <p:commandButton value="Voltar" action="#{cadastroUsuarioBean.voltarTelaLogin}" immediate="true" ajax="false" image="ui-icon ui-icon-arrowreturnthick-1-w" />
            </h:panelGroup>
            </h:panelGrid>
            </p:fieldset>
        </h:panelGroup>
        <h:panelGroup id="termo" >
            <p:fieldset legend="Termo de responsabilidade" >  
            <h:panelGrid  columns="2" cellpadding="8" bgcolor="white" frame="box">  
                <h:graphicImage library="imagens" name="dirint_escudo.jpg" style="border:0"/>
                <h:outputText value="#{configuracaoBean.termo}" />
            </h:panelGrid> 
            <br />    
            <h:panelGroup>

            </h:panelGroup>
        </p:fieldset>
        </h:panelGroup>
        </h:panelGrid>
    </h:form>
</p:panel>
</h:body>
</ui:define>
</ui:composition>
</html>